package br.com.fourlinux.java470.aula3;

import java.math.BigDecimal;

public class EntregaMensageiro extends MetodoEntrega {

	public static final double MAX_PESO = 9000;
	public static final double MAX_COMPRIMENTO = 40;
	public static final double MAX_LARGURA = 30;
	public static final double MAX_ALTURA = 25;
	
	@Override
	public boolean isEntregavel(Produto produto) {
	
		if(produto.getPeso() > MAX_PESO 
				|| produto.getComprimento() > MAX_COMPRIMENTO
				|| produto.getLargura() > MAX_LARGURA
				|| produto.getAltura() > MAX_ALTURA)
			return false;
		return true;
	}

	
	public static final double PESO_VALOR_MINIMO = 3000; 
	public static final double VALOR_MINIMO = 15; 
	public static final double VALOR_EXCEDENTE_KG = 2; 
	
	@Override
	public BigDecimal getValorFrete(Produto produto) {
		
		if(!isEntregavel(produto))
			return null;

		if (produto.getPeso() < PESO_VALOR_MINIMO)
			return new BigDecimal(VALOR_MINIMO);
		else
			return new BigDecimal((produto.getPeso() - PESO_VALOR_MINIMO) * VALOR_EXCEDENTE_KG / 1000 + VALOR_MINIMO);
	}

}